package org.redis.cluster;

import org.redis.cluster.config.ConfigManager;
import org.redis.cluster.event.EventPusher;
import org.redis.cluster.extension.ExtensionLoader;
import org.redis.cluster.registry.Registry;

public interface RedisCluster {

	/**
	 * 启动
	 */
	public void startup();
	
	/**
	 * 关闭
	 */
	public void shutdown();
	
	/**
	 * 配置管理
	 * @return
	 */
	public ConfigManager getConfigManager();
	
	/**
	 * 注册中心
	 * @return
	 */
	public Registry getRegistry();
	
	/**
	 * 扩展加载器
	 * @return
	 */
	public ExtensionLoader getExtensionLoader();

	/**
	 * 事件推送
	 * @return
	 */
	public EventPusher getEventPusher();
}